package br.com.boreo.boreoapp_orcamento.controller;

import java.util.ArrayList;

import android.content.Context;
import br.com.boreo.boreoapp_orcamento.dao.Vendas_ItensDAO;
import br.com.boreo.boreoapp_orcamento.model.Vendas_Itens;

public class Vendas_ItensController {
	private Vendas_ItensDAO vendasItensDAO;
	
	public Vendas_ItensController(Context context) {
		vendasItensDAO = new Vendas_ItensDAO(context);
	}
	
	public long inserir(int id_sql, int id_venda, String cod_produto, String produto, int id_produto, int id_tributo, String cfop, String cst,
			double quantidade, double qtd_futura, double qtd_devolvida, double preco,  double custo, double peso, double desconto, double valor_bruto,
			double icms_base, double icms_aliq, double icms_aliqred, double icms_imp, double ipi_base, double ipi_aliq, double ipi_valor, String nf_st,
			String unidade, int id_promocao, double vl_frete, double vl_freteicms, double separar, double vl_total, double ordem, double qtd_consulta,
			int id_deposito, double pis_aliq, double cof_aliq, double pis_valor, double cof_valor, double qtdm3_peca, double madeira, double valor_comis,
			int id_tinta, double bkp_preco, double bkp_pvenda, double st_base, double st_valor, double vl_despesa, double vl_seguro, double vl_ii,
			int id_lote, double encomenda,  int id_kit) {
		
		return vendasItensDAO.inserir(id_sql, id_venda, cod_produto, produto, id_produto, id_tributo, cfop, cst, quantidade, qtd_futura, qtd_devolvida, preco, custo, peso,
				desconto, valor_bruto, icms_base, icms_aliq, icms_aliqred, icms_imp, ipi_base, ipi_aliq, ipi_valor, nf_st, unidade, id_promocao, vl_frete, vl_freteicms,
				separar, vl_total, ordem, qtd_consulta, id_deposito, pis_aliq, cof_aliq, pis_valor, cof_valor, qtdm3_peca, madeira, valor_comis, id_tinta, bkp_preco,
				bkp_pvenda, st_base, st_valor, vl_despesa, vl_seguro, vl_ii, id_lote, encomenda, id_kit);
	}
	
	public long inserirComId(int id, int id_sql, int id_venda, String cod_produto, String produto, int id_produto, int id_tributo, String cfop, String cst,
			double quantidade, double qtd_futura, double qtd_devolvida, double preco,  double custo, double peso, double desconto, double valor_bruto,
			double icms_base, double icms_aliq, double icms_aliqred, double icms_imp, double ipi_base, double ipi_aliq, double ipi_valor, String nf_st,
			String unidade, int id_promocao, double vl_frete, double vl_freteicms, double separar, double vl_total, double ordem, double qtd_consulta,
			int id_deposito, double pis_aliq, double cof_aliq, double pis_valor, double cof_valor, double qtdm3_peca, double madeira, double valor_comis,
			int id_tinta, double bkp_preco, double bkp_pvenda, double st_base, double st_valor, double vl_despesa, double vl_seguro, double vl_ii,
			int id_lote, double encomenda,  int id_kit) {
		
		return vendasItensDAO.inserirComId(id, id_sql, id_venda, cod_produto, produto, id_produto, id_tributo, cfop, cst, quantidade, qtd_futura, qtd_devolvida, preco, custo, peso,
				desconto, valor_bruto, icms_base, icms_aliq, icms_aliqred, icms_imp, ipi_base, ipi_aliq, ipi_valor, nf_st, unidade, id_promocao, vl_frete, vl_freteicms,
				separar, vl_total, ordem, qtd_consulta, id_deposito, pis_aliq, cof_aliq, pis_valor, cof_valor, qtdm3_peca, madeira, valor_comis, id_tinta, bkp_preco,
				bkp_pvenda, st_base, st_valor, vl_despesa, vl_seguro, vl_ii, id_lote, encomenda, id_kit);
	}
	
	public long alterar(int id, int id_sql, int id_venda, String cod_produto, String produto, int id_produto, int id_tributo, String cfop, String cst,
			double quantidade, double qtd_futura, double qtd_devolvida, double preco,  double custo, double peso, double desconto, double valor_bruto,
			double icms_base, double icms_aliq, double icms_aliqred, double icms_imp, double ipi_base, double ipi_aliq, double ipi_valor, String nf_st,
			String unidade, int id_promocao, double vl_frete, double vl_freteicms, double separar, double vl_total, double ordem, double qtd_consulta,
			int id_deposito, double pis_aliq, double cof_aliq, double pis_valor, double cof_valor, double qtdm3_peca, double madeira, double valor_comis,
			int id_tinta, double bkp_preco, double bkp_pvenda, double st_base, double st_valor, double vl_despesa, double vl_seguro, double vl_ii,
			int id_lote, double encomenda,  int id_kit) {
		
		return vendasItensDAO.alterar(id, id_sql, id_venda, cod_produto, produto, id_produto, id_tributo, cfop, cst, quantidade, qtd_futura, qtd_devolvida, preco, custo, peso,
				desconto, valor_bruto, icms_base, icms_aliq, icms_aliqred, icms_imp, ipi_base, ipi_aliq, ipi_valor, nf_st, unidade, id_promocao, vl_frete, vl_freteicms,
				separar, vl_total, ordem, qtd_consulta, id_deposito, pis_aliq, cof_aliq, pis_valor, cof_valor, qtdm3_peca, madeira, valor_comis, id_tinta, bkp_preco,
				bkp_pvenda, st_base, st_valor, vl_despesa, vl_seguro, vl_ii, id_lote, encomenda, id_kit);
	}
	
	public ArrayList<Vendas_Itens> selectVendasItens(){
		return vendasItensDAO.selectVendasItens();
	}

	public ArrayList<Vendas_Itens> selectVendasItensPorId(int id_vendaitem) {
		return vendasItensDAO.selectVendasItensPorId(id_vendaitem);
	}
	
	public ArrayList<Vendas_Itens> selectVendasItensPorVenda(int id_venda) {
		return vendasItensDAO.selectVendasItensPorVenda(id_venda);
	}
	
	public ArrayList<Vendas_Itens> selectUltimoItemVenda() {
		return vendasItensDAO.selectUltimoItemVenda();
	}
	
	public ArrayList<Vendas_Itens> selectProdutosPorVendaItem(int id_venda, int id_produto) {
		return vendasItensDAO.selectProdutosPorVendaItem(id_venda, id_produto);
	}

	public void excluirItensPorIdVenda(int id_venda) {
		vendasItensDAO.excluirItensPorIdVenda(id_venda);
	}
	
	public void excluirProdutosPorIdVenda(int id_venda, int id_produto) {
		vendasItensDAO.excluirProdutosPorIdVenda(id_venda, id_produto);
	}
	
	public void excluirTodasVendasItens() {
		vendasItensDAO.excluirTodasVendasItens();
	}
	
	public void excluirItensPorId(int id) {
		vendasItensDAO.excluirItensPorId(id);
	}
}
